package com.zmn.plat.services.interfaces.key;

/**
 * 保修卡、优惠券 key 生成器 key的十进制区间(38位)：3010936384 -> 114415582591
 *
 * @author duanzuocai
 * @since 19/01/18 11:30
 */
public interface KeyService {
    long MIN_KEY = 3010936384L;
    long MAX_KEY = 114415582591L;
    int SECURITY_LINE_CODE = 20;
    int SECURITY_LINE_JOB = 100;
    int AUTO_CREATE_NUM_CODE = 500;
    int AUTO_CREATE_NUM_JOB = 5000;

    /**
     * 查询KEY, 且更新为已读
     *
     * @param type:
     *            1保修卡，2优惠券
     * @return key
     */
    String findOneRandomKey(Integer type);

    /**
     * 统计数量
     *
     * @param type
     * @return
     */
    int count(int type);

    /**
     * 分页查询
     * 
     * @param num
     *            创建数量
     * @param type
     *            1保修卡, 2优惠券
     * @return 成功生成数量
     */
    void create(Integer num, Integer type);

}
